---
sidebar_position: 3
---

# QueryEngine (Запросный движок)

`Эта документация была автоматически переведена и может содержать ошибки. Не стесняйтесь открывать Pull Request для предложения изменений.`

Запросный движок объединяет `Retriever` и `ResponseSynthesizer` в конвейер, который будет использовать строку запроса для получения узлов, а затем отправлять их в LLM для генерации ответа.

```typescript
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query("строка запроса");
```

## Запросный движок для подзапросов

Основная концепция Запросного движка для подзапросов заключается в том, что он разделяет один запрос на несколько запросов, получает ответ на каждый из этих запросов, а затем объединяет эти разные ответы в один последовательный ответ для пользователя. Вы можете представить это как технику "подумайте об этом шаг за шагом", но с итерацией по источникам данных!

### Начало работы

Самый простой способ начать использовать Запросный движок для подзапросов - запустить файл subquestion.ts в папке [examples](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/subquestion.ts).

```bash
npx ts-node subquestion.ts
```

"

### Инструменты

Запросный движок для подзапросов реализован с помощью инструментов. Основная идея инструментов заключается в том, что они являются исполняемыми вариантами для большой языковой модели. В данном случае наш Запросный движок для подзапросов зависит от инструмента QueryEngineTool, который, как вы уже догадались, является инструментом для выполнения запросов на Запросный движок. Это позволяет нам дать модели возможность запрашивать разные документы для разных вопросов, например. Вы также можете представить, что Запросный движок для подзапросов может использовать инструмент, который ищет что-то в Интернете или получает ответ с помощью Wolfram Alpha.

Вы можете узнать больше об инструментах, взглянув на документацию по Python LlamaIndex по адресу https://gpt-index.readthedocs.io/en/latest/core_modules/agent_modules/tools/root.html

"

## Справочник по API

- [RetrieverQueryEngine (Запросный движок Retriever)](../../api/classes/RetrieverQueryEngine.md)
- [SubQuestionQueryEngine (Запросный движок SubQuestion)](../../api/classes/SubQuestionQueryEngine.md)
- [QueryEngineTool (Инструмент запросного движка)](../../api/interfaces/QueryEngineTool.md)

"
